<?php 
	session_start();
	
	if (!isset($_SESSION['utilisateur']))
	{
		die('404');
	}
	
	include_once 'modele/utilisateur.class.php';
	include_once 'modele/semaine.class.php';
	include_once 'modele/jour.class.php';
	include_once 'menu.php';
	include_once 'sousMenu.php';	
	include_once 'modele/SPDO.class.php';
	
	$utilisateur = unserialize($_SESSION['utilisateur']);
		
		function supprimerEvenement()
		{
			$pdo = SPDO::pdo();
			try
			{
				$pdo->beginTransaction();
				$requeteFin = $pdo->query('SELECT E2.ID_ActionElement AS ID_ActionElement FROM Evenement E1, Evenement E2 WHERE E1.Fin=E2.ID_Evenement AND E1.ID_ActionElement ='.$_GET['idActionElement']);
				$ActElemFin = $requeteFin->fetchAll();
				if(count($ActElemFin)>0)
				{ 
					$pdo->exec("DELETE FROM ActionElement WHERE ID_ActionElement=".$_GET['idActionElement']." OR ID_ActionElement=".$ActElemFin[0]['ID_ActionElement']);
				}
				else
				{
					throw new Exception();
				}
				$pdo->commit();
			}
			catch(Exception $e)
			{
				$pdo->rollBack();
			}
		}	
			
?>

<!DOCTYPE html>
<html lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	
	<link rel="stylesheet" type="text/css" href="css/index.css" />
	<link rel="stylesheet" type="text/css" href="css/menu.css" />
	<link rel="stylesheet" type="text/css" href="css/notification.css" />
	<link rel="stylesheet" type="text/css" href="css/calendrier.css" />
	<link rel="stylesheet" type="text/css" href="css/jquery-ui-1.9.2.css"/>
	
	<script src="script/jquery-1.9.1.js"></script>
	<script src="script/equipement.js"></script>
	<script src="script/jquery-ui-1.9.2.js"></script>
	
	<script src="script/notification.js"></script>
	<script src="script/themeNotification.js"></script>
	<script src="script/layoutNotification/top.js"></script>
	
	<title>Programmez des évenements</title>
</head>
<body>
	<div id='aide'>
		<h2>Aide</h2>
		<p>Pour rajouter un évenement, vous devez saisir la date et l'heure du début de cet évenement, ainsi que les équipements en modifiant les valeurs.</p>
		<p>Pour supprimer un évenement, vous devez cliquer sur "supprimer l'évenement" dans le calendrier.</p>
	</div>
	<div id="entete">
	</div>
	<div id="corps">
		<h2 class="titreProg">Evenements programmés</h2>
		<?php
			if(isset($_GET['idActionElement']))
			{
				supprimerEvenement();
			}
			if(isset($_GET['week']))
			{
				if($_GET['week']>=0)
				{
					$dateSemaine = strtotime(date('Y-m-d', strtotime('+ '.(intval($_GET['week'])*7).' DAY')));
				}
				else
				{
					$week = abs(intval($_GET['week']));
					$dateSemaine = strtotime(date('Y-m-d', strtotime('- '.($week*7).' DAY')));
				}
				
				$semaine = new Semaine($dateSemaine);
				
				if((isset($_POST['jourDeb']))&&(isset($_POST['anneeDeb']))&&(isset($_POST['moisDeb']))&&(isset($_POST['heureDeb']))&&(isset($_POST['minDeb']))&&(isset($_POST['secDeb']))&&(isset($_POST['jourFin']))&&(isset($_POST['anneeFin']))&&(isset($_POST['moisFin']))&&(isset($_POST['heureFin']))&&(isset($_POST['minFin']))&&(isset($_POST['secFin'])))
				{
					$deb = strtotime($_POST['anneeDeb'].'-'.$_POST['moisDeb'].'-'.$_POST['jourDeb']." ".$_POST['heureDeb'].":".$_POST['minDeb'].":".$_POST['secDeb']);
					$fin = strtotime($_POST['anneeFin'].'-'.$_POST['moisFin'].'-'.$_POST['jourFin']." ".$_POST['heureFin'].":".$_POST['minFin'].":".$_POST['secFin']);
					
					if((date('Y',$deb)!='1970')&&($deb<$fin))
					{
						$result = $semaine->majEvent();
						/*
						 * $result = 0 : Insertion réussie
						 * $result = 1 : Echec lors de l'insertion
						 * $result = 2 : Il existe déjà un événement dans la BDD pour l'élément choisi lors de la même période de temps.
						 */
					}
				}
				
				$semaine->afficher();
			}
			else if(isset($_GET['jour']))
			{
				$jour = new Jour($_GET['jour']);
				
				if((isset($_POST['jourDeb']))&&(isset($_POST['anneeDeb']))&&(isset($_POST['moisDeb']))&&(isset($_POST['heureDeb']))&&(isset($_POST['minDeb']))&&(isset($_POST['secDeb']))&&(isset($_POST['jourFin']))&&(isset($_POST['anneeFin']))&&(isset($_POST['moisFin']))&&(isset($_POST['heureFin']))&&(isset($_POST['minFin']))&&(isset($_POST['secFin'])))
				{
					$deb = strtotime($_POST['anneeDeb'].'-'.$_POST['moisDeb'].'-'.$_POST['jourDeb']." ".$_POST['heureDeb'].":".$_POST['minDeb'].":".$_POST['secDeb']);
					$fin = strtotime($_POST['anneeFin'].'-'.$_POST['moisFin'].'-'.$_POST['jourFin']." ".$_POST['heureFin'].":".$_POST['minFin'].":".$_POST['secFin']);
					
					if((date('Y',$deb)!='1970')&&($deb<$fin))
					{
						$result = $jour->majEvent();
						/*
						 * $result = 0 : Insertion réussie
						 * $result = 1 : Echec lors de l'insertion
						 * $result = 2 : Il existe déjà un événement dans la BDD pour l'élément choisi lors de la même période de temps.
						 */
					}
				}
				
				echo "<table class='tableJour'>";
				$jour->afficher();
				echo "</table>";
				echo "<a href='calendrier.php'>Retour à la semaine en cours</a>";	
			}
			else
			{
				$dateSemaine = strtotime(date('Y-m-d'));
				$semaine = new Semaine($dateSemaine);
				
				if((isset($_POST['jourDeb']))&&(isset($_POST['anneeDeb']))&&(isset($_POST['moisDeb']))&&(isset($_POST['heureDeb']))&&(isset($_POST['minDeb']))&&(isset($_POST['secDeb']))&&(isset($_POST['jourFin']))&&(isset($_POST['anneeFin']))&&(isset($_POST['moisFin']))&&(isset($_POST['heureFin']))&&(isset($_POST['minFin']))&&(isset($_POST['secFin'])))
				{
					$deb = strtotime($_POST['anneeDeb'].'-'.$_POST['moisDeb'].'-'.$_POST['jourDeb']." ".$_POST['heureDeb'].":".$_POST['minDeb'].":".$_POST['secDeb']);
					$fin = strtotime($_POST['anneeFin'].'-'.$_POST['moisFin'].'-'.$_POST['jourFin']." ".$_POST['heureFin'].":".$_POST['minFin'].":".$_POST['secFin']);
					
					if((date('Y',$deb)!='1970')&&($deb<$fin))
					{
						$result = $semaine->majEvent();
						/*
						 * $result = 0 : Insertion réussie
						 * $result = 1 : Echec lors de l'insertion
						 * $result = 2 : Il existe déjà un événement dans la BDD pour l'élément choisi lors de la même période de temps.
						 */
					}
				}
				
				$semaine->afficher();
			}
		?>

		<h2 class="titreProg">Programmer un événement</h2>
		<div id="menu">
			<?php 
				$piece = $utilisateur->piece;
				afficheMenu($piece);
			?>	
		</div>
		<form action="calendrier.php" method="post" id="formEquipement">
			<div id="sousMenu">
				<?php 
					afficheSousMenu("calendrier");
				?>
			</div>
			
			<div id="progDate">
				<label for="jourDeb" class="dateProgText">Debut de l'événement</label>
				<input type="text" name="jourDeb" size="2" placeholder="Jour"/>/
				<input type="text" name="moisDeb" size="2" placeholder="Mois"/>/
				<input type="text" name="anneeDeb" size="2" placeholder="Année"/>
				<input type="text" name="heureDeb" size="2" placeholder="Heure"/>:
				<input type="text" name="minDeb" size="2" placeholder="Minute"/>:
				<input type="text" name="secDeb" size="2" placeholder="Seconde"/><br/>
				<label for="jourFin" class="dateProgText">Fin de l'événement</label>
				<input type="text" name="jourFin" size="2" placeholder="Jour"/>/
				<input type="text" name="moisFin" size="2" placeholder="Mois"/>/
				<input type="text" name="anneeFin" size="2" placeholder="Année"/> 
				<input type="text" name="heureFin" size="2" placeholder="Heure"/>:
				<input type="text" name="minFin" size="2" placeholder="Minute"/>:
				<input type="text" name="secFin" size="2" placeholder="Seconde"/><br/>
				<input type="hidden" name="form" />
			</div>
			
			<div id="equipement">
				<?php 
					if(count($piece) != 0)
					{
						foreach ($piece AS $cle => $val)
						{
							$val->afficheEquipement();
						}
					}
				?>
			</div>
		</form>
	</div>
	<div id="piedpage">
	</div>
</body>
<?php 
	$_SESSION['utilisateur'] = serialize($utilisateur);
?>
</html>

